<?php

namespace app\api\controller;

use app\common\controller\Api;

/**
 * 首页接口
 */
class Area extends Api
{
    protected $noNeedLogin = ['*'];
    protected $noNeedRight = ['*'];
    
    /**
     * Area模型对象
     * @var \app\admin\model\Area
     */
    protected $model = null;
    
    public function _initialize()
    {
        parent::_initialize();
        $this->model = new \app\admin\model\Area;
    
    }

    /**
     * 首页
     *
     */
    public function index()
    {
        $data = $this->model::all();
        foreach($data as $k=>$v) {
            $suntime = ($v['lng'] - 120) * 238;
            $suntime = round($suntime);
            $sign = $suntime >= 0 ? '+' : '-';
            $suntime = abs($suntime);
            $h = intdiv($suntime, 3600);
            $m = intdiv($suntime - $h*3600, 60);
            $s = $suntime - $h * 3600 - $m * 60;
            $m = $m < 10 ? '0'.$m : $m;
            $s = $s < 10 ? '0'.$s : $s;
            $suntime = "0{$h}:{$m}:{$s}";
            
            $this->model->update(['id'=>$v['id'],'sign'=>$sign,'suntime'=>$suntime]);
        }
        $this->success('成功');
    }
    
    public function test()
    {
        $str = "1月01日-3分9
1月02日-3分38
1月03日-4分6
1月04日-4分33
1月05日-5分1
1月06日-5分27
1月07日-5分54
1月08日-6分20
1月09日-6分45
1月10日-7分10
1月11日-7分35
1月12日-7分59
1月13日-8分22
1月14日-8分45
1月15日-9分7
1月16日-9分28
1月17日-9分49
1月18日-10分9
1月19日-10分28
1月20日-10分47
1月21日-11分5
1月22日-11分22
1月23日-11分38
1月24日-11分54
1月25日-12分8
1月26日-12分22
1月27日-12分35
1月28日-12分59
1月29日-13分10
1月30日-13分19
1月31日-13分37
2月01日-13分44
2月02日-13分50
2月03日-13分56
2月04日-14分1
2月05日-14分5
2月06日-14分9
2月07日-14分11
2月08日-14分13
2月09日-14分14
2月10日-14分15
2月11日-14分14
2月12日-14分13
2月13日-14分11
2月14日-14分8
2月15日-14分5
2月16日-14分1
2月17日-13分56
2月18日-13分51
2月19日-13分44
2月20日-13分38
2月21日-13分30
2月22日-13分22
2月23日-13分13
2月24日-11分4
2月25日-12分54
2月26日-12分43
2月27日-12分32
2月28日-12分21
2月29日-12分8
3月01日-11分56
3月02日-11分43
3月03日-11分29
3月04日-11分15
3月05日-11分1
3月06日-10分47
3月07日-10分32
3月08日-10分16
3月09日-10分1
3月10日-9分45
3月11日-9分28
3月12日-9分12
3月13日-8分55
3月14日-8分38
3月15日-8分21
3月16日-8分4
3月17日-7分46
3月18日-7分29
3月19日-7分11
3月20日-6分53
3月21日-6分35
3月22日-6分17
3月23日-5分58
3月24日-5分40
3月25日-5分22
3月26日-5分4
3月27日-4分45
3月28日-4分27
3月29日-4分9
3月30日-3分51
3月31日-3分33
4月01日-3分16
4月02日-2分58
4月03日-2分41
4月04日-2分24
4月05日-2分7
4月06日-1分50
4月07日-1分33
4月08日-1分17
4月09日-1分1
4月10日+0分46
4月11日+0分30
4月12日+0分16
4月13日+0分1
4月14日+0分13
4月15日+0分27
4月16日+0分41
4月17日+0分54
4月18日+1分6
4月19日+1分19
4月20日+1分31
4月21日+1分42
4月22日+1分53
4月23日+2分4
4月24日+2分14
4月25日+2分23
4月26日+2分33
4月27日+2分41
4月28日+2分49
4月29日+2分57
4月30日+3分4
5月01日+1分10
5月02日+3分16
5月03日+3分21
5月04日+3分26
5月05日+3分30
5月06日+3分37
5月07日+3分36
5月08日+3分39
5月09日+3分40
5月10日+3分42
5月11日+3分42
5月12日+3分42
5月13日+3分42
5月14日+3分41
5月15日+3分39
5月16日+3分37
5月17日+3分34
5月18日+3分31
5月19日+3分27
5月20日+3分23
5月21日+3分18
5月22日+3分13
5月23日+3分7
5月24日+3分1
5月25日+2分54
5月26日+2分47
5月27日+2分39
5月28日+2分31
5月29日+2分22
5月30日+2分13
5月31日+2分4
6月01日+1分54
6月02日+1分44
6月03日+1分34
6月04日+1分23
6月05日+1分12
6月06日+1分0
6月07日+0分48
6月08日+0分36
6月09日+0分24
6月10日+0分12
6月11日+0分1
6月12日+0分14
6月13日+0分39
6月14日+0分52
6月15日-1分5
6月16日-1分18
6月17日-1分31
6月18日-1分45
6月19日-1分57
6月20日-2分10
6月21日-2分23
6月22日-2分36
6月23日-2分48
6月24日-3分1
6月25日-3分13
6月26日-3分25
6月27日-3分37
6月28日-3分49
6月29日-4分0
6月30日-4分11
7月01日-4分22
7月02日-4分33
7月03日-4分43
7月04日-4分53
7月05日-5分2
7月06日-5分11
7月07日-5分20
7月08日-5分28
7月09日-5分36
7月10日-5分43
7月11日-5分50
7月12日-5分56
7月13日-6分2
7月14日-6分8
7月15日-6分12
7月16日-6分16
7月17日-6分20
7月18日-6分23
7月19日-6分25
7月20日-6分27
7月21日-6分29
7月22日-6分29
7月23日-6分29
7月24日-6分29
7月25日-6分28
7月26日-6分26
7月27日-6分24
7月28日-6分21
7月29日-6分17
7月30日-6分13
7月31日-6分8
8月01日-6分3
8月02日-5分57
8月03日-5分51
8月04日-5分44
8月05日-5分36
8月06日-5分28
8月07日-5分19
8月08日-5分10
8月09日-5分0
8月10日-4分50
8月11日-4分39
8月12日-4分27
8月13日-4分15
8月14日-4分2
8月15日-3分49
8月16日-3分36
8月17日-3分21
8月18日-3分7
8月19日-2分51
8月20日-2分36
8月21日-2分20
8月22日-2分3
8月23日-1分47
8月24日-1分29
8月25日-1分12
8月26日+0分54
8月27日+0分35
8月28日+0分17
8月29日+0分2
8月30日+0分21
8月31日+0分41
9月01日+1分0
9月02日+1分20
9月03日+1分40
9月04日+2分1
9月05日+2分21
9月06日+2分42
9月07日+3分3
9月08日+3分3
9月09日+3分24
9月10日+3分45
9月11日+4分6
9月12日+4分27
9月13日+4分48
9月14日+5分10
9月15日+5分31
9月16日+5分53
9月17日+6分14
9月18日+6分35
9月19日+6分57
9月20日+7分18
9月21日+7分39
9月22日+8分0
9月23日+8分21
9月24日+8分42
9月25日+9分2
9月26日+9分22
9月27日+9分42
9月28日+10分2
9月29日+10分21
9月30日+10分40
10月01日+10分59
10月02日+11分18
10月03日+11分36
10月04日+11分36
10月05日+11分53
10月06日+12分11
10月07日+12分28
10月08日+12分44
10月09日+12分60
10月10日+13分16
10月11日+13分16
10月12日+13分31
10月13日+13分45
10月14日+13分59
10月15日+14分13
10月16日+14分26
10月17日+14分38
10月18日+14分50
10月19日+15分1
10月20日+15分12
10月21日+11分21
10月22日+15分31
10月23日+15分40
10月24日+15分48
10月25日+15分55
10月26日+16分1
10月27日+16分7
10月28日+16分12
10月29日+16分16
10月30日+16分20
10月31日+16分22
11月01日+16分24
11月02日+16分25
11月03日+16分25
11月04日+16分24
11月05日+16分23
11月06日+16分21
11月07日+16分17
11月08日+16分13
11月09日+16分9
11月10日+16分3
11月11日+15分56
11月12日+15分49
11月13日+15分41
11月14日+15分32
11月15日+15分22
11月16日+15分11
11月17日+14分60
11月18日+14分47
11月19日+14分34
11月20日+14分20
11月21日+14分6
11月22日+13分50
11月23日+13分34
11月24日+13分17
11月25日+12分59
11月26日+12分40
11月27日+12分21
11月28日+12分1
11月29日+11分40
11月30日+11分18
12月01日+10分56
12月02日+10分33
12月03日+10分9
12月04日+9分45
12月05日+9分21
12月06日+8分55
12月07日+8分29
12月08日+8分3
12月09日+7分36
12月10日+7分9
12月11日+6分42
12月12日+6分14
12月13日+5分46
12月14日+5分17
12月15日+4分48
12月16日+4分19
12月17日+3分50
12月18日+3分21
12月19日+2分51
12月20日+2分22
12月21日+1分52
12月22日+1分22
12月23日+0分52
12月24日+0分23
12月25日+0分7
12月26日+0分37
12月27日-1分6
12月28日-1分36
12月29日-2分5
12月30日-2分34
12月31日-3分";
        
        $arr = [];
        $str = explode(PHP_EOL, $str);
        foreach($str as $k=>$v) {
            preg_match('/^([0-9]*?)月([0-9]*?)日(-|\+)([0-9]*?)分([0-9]*?)$/i', $v, $data);
            $arr[$data['1']] = $arr[$data['1']] ?? [];
            $arr[$data['1']][$data['2']] = [
                'sign' => $data['3'],
                'minute' => $data['4'],
                'second' => empty($data['5']) ? 0 : $data['5'],
            ];
        }
        $this->success('成功', $arr);
    }
}
